package com.LA.Jedis.utils;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/**
 * @Author LA
 * @Date 2024/8/7 14:26
 * @Description: 工具类
 */
public class JedisConnectionFactory {
    //Jedis连接池
    private static final JedisPool jedispool;

    //静态初始块  用于初始化类变量 仅在类被加载到JVM时执行一次，而不是在每次创建类的实例时执行。
    static {
        //配置连接池
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        //最大连接
        jedisPoolConfig.setMaxTotal(8);
        //最大空闲连接
        jedisPoolConfig.setMaxIdle(8);
        //最小空闲连接
        jedisPoolConfig.setMinIdle(0);
        //设置最长等待时间 ms（当连接池里没有可用的空闲连接的时候我们要不要等待，等待多长时间）
        jedisPoolConfig.setMaxWaitMillis(1000);
        // 创建连接池对象，参数：连接池配置、服务端ip、服务端端口、超时时间、密码
        jedispool=new JedisPool(jedisPoolConfig,"192.168.37.13",6379,1000,"011034");
    }

    //获取Jedis实例
    public static Jedis getJedis(){
        return jedispool.getResource();
    }

}
